<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>发现(discovery)和集群形成的重要设置 | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'discovery-settings.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/discovery-settings.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/discovery-settings.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/discovery-settings.html" rel="nofollow" target="_blank">../en/discovery-settings.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-link"><a href="important-settings.html">重要的配置</a></span>
»
<span class="breadcrumb-node">发现(discovery)和集群形成的重要设置</span>
</div>
<div class="navheader">
<span class="prev">
<a href="network.host.html">« 网络之宿主绑定(<code class="literal">network.host)</code></a>
</span>
<span class="next">
<a href="heap-size.html">设置堆大小 »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="discovery-settings"></a>发现(discovery)和集群形成的重要设置
</h2>
</div></div></div>

<p>
在投入生产之前，应该配置两个重要的 发现(discovery) 和 集群形成(cluster formation) 设置，以便集群中的节点能够彼此发现并选举一个主节点。
</p>
<h4>
<a id="unicast.hosts"></a><code class="literal">discovery.seed_hosts</code>
</h4>
<p>
在没有任何网络配置的情况下，Elasticsearch 将绑定到可用的回环地址，并扫描本地端口 9300 至9305，尝试连接到同一服务器上运行的其他节点。
这提供了一种自动集群体验，而无需进行任何配置。
</p>
<p>
当你想要在其他主机上形成一个有多个节点的集群时，你应该使用 <code class="literal">discovery.seed_hosts</code> 设置来提供一个集群中其他(符合主节点的条件的)节点的列表，并且可能是活动的和可连接的，以便启动 <a class="xref" href="modules-discovery-hosts-providers.html" title="Discovery">发现过程(discovery process)</a>。
此设置应是集群中所有合格主节点的节点的地址列表。
每个地址可以是 IP 地址，也可以是主机名(可以通过 DNS 解析为一个或多个 IP 地址)。
</p>
<p>
如果你的符合主节点的节点没有固定的名称或地址，请使用 <a class="xref" href="modules-discovery-hosts-providers.html#built-in-hosts-providers" title="Seed hosts providers">替代主机提供程序(alternative hosts provider)</a> 动态查找它们的地址。
</p>
<h4>
<a id="initial_master_nodes"></a><code class="literal">cluster.initial_master_nodes</code>
</h4>
<p>
当你第一次启动一个全新的 ElasticSearch 集群时，就会有一个 <a class="xref" href="modules-discovery-bootstrap-cluster.html" title="Bootstrapping a cluster">集群引导</a>步骤，它确定第一次选举中计算选票的一组符合主节点条件的节点。
在<a class="xref" href="bootstrap-checks.html#dev-vs-prod-mode" title="Development vs. production mode">开发模式</a>中，没有配置任何 发现(discovery) 设置，此步骤将由节点自己自动执行。
由于这种自动引导本质上是<a class="xref" href="modules-discovery-quorums.html" title="Quorum-based decision making">不安全的</a>，所以当你在生产模式中启动一个全新的集群时，必须显式地列出在第一次选举中应该计算选票的符合主节点条件的节点。
这个列表是使用 <code class="literal">cluster.initial_master_nodes</code> 设置来设置的。
当重新启动集群或向现有集群添加新节点时，不应使用此设置。
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11 <a id="CO25-1"></a><i class="conum" data-value="1"></i>
   - seeds.mydomain.com <a id="CO25-2"></a><i class="conum" data-value="2"></i>
   - [0:0:0:0:0:ffff:c0a8:10c]:9301 <a id="CO25-3"></a><i class="conum" data-value="3"></i>
cluster.initial_master_nodes: <a id="CO25-4"></a><i class="conum" data-value="4"></i>
   - master-node-a
   - master-node-b
   - master-node-c</pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO25-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>
端口是可选的，通常默认为 <code class="literal">9300</code>，但此默认设置可以被某些设置 <a class="xref" href="modules-discovery-hosts-providers.html#built-in-hosts-providers" title="Seed hosts providers">覆盖</a>。
</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO25-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>
如果一个主机名解析到多个 IP 地址，则该节点将尝试在所有已解析的地址上发现其他节点。
</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO25-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>IPv6 地址必须用方括号括起来。</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO25-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>
初始主节点应该通过它们的 <a class="xref" href="node.name.html" title="node.name"><code class="literal">node.name</code></a>来标识，默认为它们的主机名。
确保 <code class="literal">cluster.initial_master_nodes</code> 的值与 <code class="literal">node.name</code> 完全匹配。
如果你使用一个绝对域名，如 <code class="literal">master-node-a.example.com</code>，那么你必须在此列表中使用完整的名称；
相反，如果 <code class="literal">node.name</code> 是一个没有 后限定符<span class="remark">(trailing qualifier)</span> 的裸主机名，那么还必须省略 <code class="literal">cluster.initial_master_nodes</code> 中的后限定符。
</p>
</td>
</tr>
</table>
</div>
<p>更多信息请参考 <a class="xref" href="modules-discovery-bootstrap-cluster.html" title="Bootstrapping a cluster">快速启动一个集群</a> 和
<a class="xref" href="modules-discovery-settings.html" title="Discovery and cluster formation settings">发现和集群形成设置</a>。</p>
</div>
<div class="navfooter">
<span class="prev">
<a href="network.host.html">« 网络之宿主绑定(<code class="literal">network.host)</code></a>
</span>
<span class="next">
<a href="heap-size.html">设置堆大小 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>